package com.youmu.shop.user.dao;


import org.apache.ibatis.annotations.Param;

import com.youmu.shop.base.dao.BaseDao;
import com.youmu.shop.system.bean.MemberRank;
import com.youmu.shop.system.bean.User;
import com.youmu.shop.system.vo.UserInfo;

public interface UserDao extends BaseDao{

	UserInfo findUserInfo(@Param("userId")Long userId);

    /**
     * 保存用户登陆信息
     * @param userInfo
     */
	void saveUserInfo(UserInfo userInfo);

    /**
     * 
     * @param openId
     * @return
     */
    UserInfo findUserInfoByOpenId(String openId);
	
    /**
     * 根据用户id查询用户信息
     * @param id
     * @return
     */
    User selectByUserId(Long id);
    /**
     * 根据会员级别查询出会员等级信息
     * @param memberLevel
     * @return
     */
    MemberRank selectNextLevelMemberRank(Integer memberLevel);
    
    /**
     * 根据用户id查询会员等级
     * @param userId
     * @return
     */
    MemberRank selectMemberRankByUserId(Long userId);
    
    /**
     * 根据id查询会员等级信息
     * @param id
     * @return
     */
    MemberRank selectMemberRankById(Long id);
    
    /**
     * 根据等级查询会员等级信息
     * @param grade
     * @return
     */
    MemberRank selectMemberRankByGrade(Integer grade);

    /**
     * 根据积分查询用户的会员等级
     * @param totalPoint
     * @return
     */
    MemberRank selectMemberRankByPoint(int totalPoint);

    /**
     * 查询用户下一等级的信息
     * @param parseLong
     * @return
     */
    MemberRank selectNextMemberRank(int amount);
}
